toastr.options = {
    "closeButton": true,
    "progressBar": true
};
function changeFrameHeight() {
    var ifm = document.getElementById("_page");
    ifm.height = document.documentElement.clientHeight - 160;
}
window.onresize = function () {
    changeFrameHeight();
};
var table;
var query = {};
function initTable(url, columns, queryParamsType) {
    table = $('#table');
    table.bootstrapTable({
        //请求方法
        method: 'get',
        //是否显示行间隔色
        striped: true,
        //是否使用缓存，默认为true，设置false会在请求后面加时间戳来刷新
        cache: true,
        //主键字段
        idField: "id",
        //击行时，自动选择rediobox 和 checkbox
        //clickToSelect: true,
        //设置True 将禁止多选
        //singleSelect: true,
        //是否显示分页（*）
        pagination: true,
        //显示可选显示列按钮
        showColumns: true,
        //显示刷新按钮
        showRefresh: true,
        //是否启用排序
        sortable: true,
        //排序方式
        sortOrder: "desc",
        //每页的记录行数（*）
        pageSize: 17,
        //可供选择的每页的行数（*）
        pageList: [17, 34, 'ALL'],
        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
        url: url,
        //默认值为 'limit',传给服务端的参数为：limit, offset, searchText, sort, sortOrder
        //设置为 '' 在这种情况下传给服务器的参数为：pageSize, pageNumber, searchText, sort, sortOrder
        queryParamsType: queryParamsType == undefined ? '' : queryParamsType,
        //自定义需要传递的参数
        queryParams: function (params) {
            query.pageNumber = params.pageNumber;
            query.pageSize = params.pageSize;
            //limit风格分页
            query.limit = params.limit;
            query.offset = params.offset;
            //排序，搜索条件
            query.sortOrder = params.sortOrder;
            query.sortName = params.sortName;
            query.searchText = params.searchText;
            return query;
        },
        //分页方式：client客户端分页，server服务端分页（*）
        sidePagination: "server",
        //是否显示搜索
        search: true,
        //初始化搜索文字
        //searchText: null,
        //设置为 true启用 全匹配搜索，否则为模糊搜索,本地数据有效，服务器无效
        //strictSearch: true,
        //设置为 true时，按回车触发搜索方法，否则自动触发搜索方法
        searchOnEnterKey: false,
        toolbar: '#toolbar',
        columns: columns
    });

    table.on('click-row.bs.table', function (e, row, $element) {
        $('.success').removeClass('success');
        $($element).addClass('success');
    });

    table.on('refresh.bs.table', function () {
        //location.reload();
        table.bootstrapTable('showLoading');
    });

    table.on('load-success.bs.table', function () {
        //table.bootstrapTable('showLoading');
        table.bootstrapTable('hideLoading');
    });

    var modalTitle = $('#box').find('.modal-title');
    $('#insert').click(function () {
        modalTitle.html($(this).attr('data-title'));
        $('#_page').attr('src', $(this).data('url'));
        $('#box').modal('show');
    });
    $('#delete').click(function () {
        var url = $(this).data('url');
        if (getSelectedRow()) {
            $.confirm({
                title: '确认删除？',
                content: '确认删除？删除后不可恢复！',
                icon: 'fa fa-warning',
                type: 'red',
                typeAnimated: true, //一点点颜色渐变的动画特效 很微弱
                buttons: {
                    confirm: {
                        text: '删除',
                        btnClass: 'btn-red',
                        action: function () {
                            $.ajax({
                                type: "GET",
                                url: url + '?id=' + getSelectedRow().id,
                                success: function (result) {
                                    if (result == 'SUCCESS') {
                                        toastr.success('成功删除');
                                        table.bootstrapTable('remove', {
                                            field: 'id',
                                            values: [getSelectedRow().id]
                                        });
                                    } else if (result == '403') {
                                        toastr.error('删除失败，你没有权限');
                                    } else if (result == 'ERROR') {
                                        toastr.error('删除失败，服务器错误');
                                    } else {
                                        console.log(result);
                                    }
                                }
                            });
                        }
                    },
                    cancel: {
                        text: '取消',
                        btnClass: 'btn-gray'
                    }
                }
            });
        }
    });
    $('#update').click(function () {
        if (getSelectedRow()) {
            modalTitle.html($(this).attr('data-title'));
            $('#_page').attr('src', $(this).data('url') + '?operation=update&id=' + getSelectedRow().id);
            $('#box').modal('show');
        }
    });
    $('#select').click(function () {
        if (getSelectedRow()) {
            modalTitle.html($(this).attr('data-title'));
            $('#_page').attr('src', $(this).data('url') + '?operation=select&id=' + getSelectedRow().id);
            $('#box').modal('show');
        }
    });
    $('#search').click(function () {
        $("#searchBox").modal('show');
    });
}

function getSelectedRow() {
    var index = table.find('tr.success').data('index');
    return table.bootstrapTable('getData')[index];
}

function success(text) {
    $('#box').modal('hide');
    toastr.success(text);
    //静默刷新页面
    table.bootstrapTable('refresh', {silent: true});
    //清空iframe
    $('#_page').attr('src', '');
}
